from flask import current_app
from qiniu import Auth, put_data

access_key = 'llGqKA4BEfQPD09AZ5YqlrX7FYmp_msxx0DVcuWA'
secret_key = 'YNQnjHh_wZP2YZjkRIw9GbnJYFotKNsBXQm1xUTq'

# 有一个函数执行添加的操作
def storage(data):
    # 1. 构建鉴权对象
    q = Auth(access_key, secret_key)

    # 要上传的空间
    bucket_name = 'smart'

    # 2. 生成上传 Token，可以指定文件名和过期时间
    # 文件名可以不传, 服务器可以帮我们自动生成
    token = q.upload_token(bucket_name, None, 3600)

    # 3. 上传文件
    ret, info = put_data(token, None, data)

    if info.status_code != 200:
        raise Exception('上传图片失败')
    print(info)
    print(ret)
    # 4. 返回七牛中保存的图片名，这个图片名也是访问七牛获取图片的路径
    return ret['key']


if __name__ == '__main__':
    file = input('请输入文件路径')
    with open(file, 'rb') as f:
        storage(f.read())

# 如果重复上传图片，七牛云 会帮我们去重，只会有一个图片